package cn.zyq.ykb.service.config;

import cn.zyq.ykb.beans.config.ConfigNotice;
import cn.zyq.ykb.beans.user.User;
import cn.zyq.ykb.system.common.PageParam;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 配置-公告提醒Service接口
 *
 * @author SystemAuth
 * @date 2023-12-04
 */
public interface ConfigNoticeService {
    /**
     * 查询配置-公告提醒
     *
     * @param configNoticeID 配置-公告提醒主键
     * @return 配置-公告提醒
     */
    ConfigNotice selectConfigNoticeByConfigNoticeID(Integer configNoticeID);

    /**
     * 查询配置-公告提醒
     *
     * @param serviceID 配置-公告提醒业务ID
     * @return 配置-公告提醒
     */
    ConfigNotice selectConfigNoticeByServiceID(String serviceID);

    /**
     * 查询配置-公告提醒列表
     *
     * @param pageParam
     * @return 配置-公告提醒集合
     */
    PageInfo<ConfigNotice> selectConfigNoticeList(PageParam pageParam);

    /**
     * 查询配置-公告提醒列表
     *
     * @param pageParam
     * @return 配置-公告提醒集合
     */
    List<ConfigNotice> selectConfigNoticeAllList(PageParam pageParam);

    /**
     * 新增配置-公告提醒
     *
     * @param param 配置-公告提醒
     * @param user
     * @return 结果
     */
    int insertConfigNotice(ConfigNotice param, User user);

    /**
     * 修改配置-公告提醒
     *
     * @param param 配置-公告提醒
     * @return 结果
     */
    int updateConfigNotice(ConfigNotice param);

    /**
     * 批量删除配置-公告提醒
     *
     * @param configNoticeIDs 需要删除的配置-公告提醒主键集合
     * @return 结果
     */
    int deleteConfigNoticeByConfigNoticeIDs(Integer[] configNoticeIDs);

    /**
     * 删除配置-公告提醒信息
     *
     * @param configNoticeID 配置-公告提醒主键
     * @return 结果
     */
    int deleteConfigNoticeByConfigNoticeID(Integer configNoticeID);
}
